package operation;

import book.BookLise;

import java.util.Scanner;

/*
     DelOperation类：用于实现图书的删减
                     通过输入删减书籍来遍历书架寻找
                     该书书架有则删减成功
                     该书书架没有，则删减失败

*/
public class DelOperation implements IOperation {

    //重写接口标准方法 work
    @Override
    public void work(BookLise bookLise) {
        System.out.println("删减图书");

        //输入删减书的名字
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你增加查找的图书名字");
        String name = scanner.nextLine();

        //遍历书架判断是否有需要删除的书
        for (int i = 0; i < bookLise.getNowSize(); i++) {
            if (name.equals(bookLise.getBooks(i).getName())) {

                //有需要删除的书，进行删除并且后面书往前移
                int index = i;
                for (int j = index;j < bookLise.getNowSize() - 1; j++) {

                    //自需要删除的书位置后后面书往前整体移一个位置
                    bookLise.setBooks(bookLise.getBooks(j+1),j);
                }

                //成功删掉目标书，并且书架书总数减一，并且直接退出
                bookLise.setNowSize(bookLise.getNowSize() - 1);
                System.out.println("《"+ name + "》" + "删除成功");
                return;
            }
        }
        System.out.println("《"+ name + "》" + "没有要删的这本书");
    }
}
